package com.yuyou.fn.api;

import com.yuyou.fn.api.dto.AttendClassRecordDto;
import com.yuyou.fn.api.dto.StudentDto;
import com.yuyou.fn.api.dto.StudentRegDetailDto;
import com.yuyou.fn.api.dto.StudentTimetableDto;

import java.util.Collection;
import java.util.Date;

public interface StudentService {

    /**
     * 根据名字查找学生
     * @param name
     * @return
     */
    Collection<StudentDto> searchByName(String name);

    /**
     * 创建学生
     * @param name
     * @param phoneNo
     * @param sex
     * @param gradeId
     * @param location
     * @param address
     * @param school
     * @param birthday
     * @return
     */
    StudentDto createStudent(String name , String phoneNo,Integer sex,Long gradeId,String location,String address ,String school, Date birthday );

    /**
     *
     * @param studentId
     * @param name
     * @param phoneNo
     * @param sex
     * @param gradeId
     * @param location
     * @param address
     * @param school
     * @param birthday
     */
    void updateStudent(Long studentId ,String name , String phoneNo,Integer sex,Long gradeId,String location,String address ,String school, Date birthday );

    /**
     * 查找学生某一期报读详情
     * @param studentId
     * @param periodId
     * @return
     */
    Collection<StudentRegDetailDto> findStudentReg(Long studentId , Long periodId );

    /**
     * 查找学生某一期课程表
     * @param studentId
     * @param periodId
     * @return
     */
    Collection<StudentTimetableDto> findStudentTimetable(Long studentId , Long periodId);

    /**
     *
     * 查看学生考勤记录
     *
     * @param regId 报名记录ID
     * @return
     */
    Collection<AttendClassRecordDto> findAttendClassRecordDto(Long regId);


}
